Establishing an internet telephone call using e-mail

ABSTRACT

A point-to-point Internet protocol exchanges Internet Protocol (IP) addresses between processing units to establish a point-to-point communication link between the processing units through the Internet. A first point-to-point Internet protocol includes the steps of (a) storing in a database a respective IP address of a set of processing units that have an on-line status with respect to the Internet; (b) transmitting a query from a first processing unit to a connection server to determine the on-line status of a second processing unit; and (c) retrieving the IP address of the second unit from the database using the connection server, in response to the determination of a positive on-line status of the second processing unit, for establishing a point-to-point communication link between the first and second processing units through the Internet. A second point-to-point Internet protocol includes the steps of (a) transmitting an E-mail signal, including a first IP address, from a first processing unit; (b) processing the E-mail signal through the Internet to deliver the E-mail signal to a second processing unit; and (c) transmitting a second IP address to the first processing unit for establishing a point-to-point communication link between the first and second processing units through the Internet.

RELATED APPLICATIONS

This application is a divisional application of U.S. patent applicationSer. No. 08/533,115, filed Sep. 25, 1995, by Glen W. Hutton et al. andentitled POINT-TO-POINT INTERNET PROTOCOL, which issued as U.S. Pat. No.6,108,704.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This disclosure relates to network communication protocols, and inparticular to a point-to-point protocol for use with the Internet.

2. Description of the Related Art

The increased popularity of on-line services such as AMERICA ONLINE™,COMPUSERVE®, and other services such as Internet gateways have spurredapplications to provide multimedia, including video and voice clips, toonline users. An example of an online voice clip application is VOICEE-MAIL FOR WINCIM and VOICE E-MAIL FOR AMERICA ONLINE™, available fromBonzi Software, as described in “Simple Utilities Send Voice E-MailOnline”, MULTIMEDIA WORLD, VOL. 2, NO. 9, August 1995, p. 52. Using suchVoice E-Mail software, a user may create an audio message to be sent toa predetermined E-mail address specified by the user.

Generally, devices interfacing to the Internet and other online servicesmay communicate with each other upon establishing respective deviceaddresses. One type of device address is the Internet Protocol (IP)address, which acts as a pointer to the device associated with the IPaddress. A typical device may have a Serial Line Internet Protocol orPoint-to-Point Protocol (SLIP/PPP) account with a permanent IP addressfor receiving e-mail, voicemail, and the like over the Internet. E-mailand voicemail is generally intended to convey text, audio, etc., withany routing information such as an IP address and routing headersgenerally being considered an artifact of the communication, or evengibberish to the recipient.

Devices such as a host computer or server of a company may includemultiple modems for connection of users to the Internet, with atemporary IP address allocated to each user. For example, the hostcomputer may have a general IP address XXX.XXX.XXX, and each user may beallocated a successive IP address of XXX.XXX.XXX.10, XXX.XXX.XXX.11,XXX.XXX.XXX.12, etc. Such temporary IP addresses may be reassigned orrecycled to the users, for example, as each user is successivelyconnected to an outside party. For example, a host computer of a companymay support a maximum of 254 IP addresses which are pooled and sharedbetween devices connected to the host computer.

Permanent IP addresses of users and devices accessing the Internetreadily support point-to-point communications of voice and video signalsover the Internet. For example, realtime video teleconferencing has beenimplemented using dedicated IP addresses and mechanisms known asreflectors. Due to the dynamic nature of temporary IP addresses of somedevices accessing the Internet, point-to-point communications inrealtime of voice and video have been generally difficult to attain.

SUMMARY OF THE INVENTION

A point-to-point Internet protocol is disclosed which exchanges InternetProtocol (IP) addresses between processing units to establish apoint-to-point communication link between the processing units throughthe Internet.

A first point-to-point Internet protocol is disclosed which includes thesteps of:

(a) storing in a database a respective IP address of a set of processingunits that have an on-line status with respect to the Internet;

(b) transmitting a query from a first processing unit to a connectionserver to determine the on-line status of a second processing unit; and

(c) retrieving the IP address of the second unit from the database usingthe connection server, in response to the determination of a positiveon-line status of the second processing unit, for establishing apoint-to-point communication link between the first and secondprocessing units through the Internet.

A second point-to-point Internet protocol is disclosed, which includesthe steps of:

(a) transmitting an E-mail signal, including a first IP address, from afirst processing unit;

(b) processing the E-mail signal through the Internet to deliver theE-mail signal to a second processing unit; and

(c) transmitting a second IP address to the first processing unit forestablishing a point-to-point communication link between the first andsecond processing units through the Internet.

BRIEF DESCRIPTION OF THE DRAWINGS

The features of the disclosed point-to-point Internet protocol andsystem will become more readily apparent and may be better understood byreferring to the following detailed description of an illustrativeembodiment of the present invention, taken in conjunction with theaccompanying drawings, where:

FIG. 1 illustrates, in block diagram format, a system for the disclosedpoint-to-point Internet protocol;

FIG. 2 illustrates, in block diagram format, the system using asecondary point-to-point Internet protocol;

FIG. 3 illustrates, in block diagram format, the system of FIGS. 1-2with the point-to-point Internet protocol established;

FIG. 4 is another block diagram of the system of FIGS. 1-2 with audiocommunications being conducted;

FIG. 5 illustrates a display screen for a processing unit;

FIG. 6 illustrates another display screen for a processing unit;

FIG. 7 illustrates a flowchart of the initiation of the point-to-pointInternet protocols;

FIG. 8 illustrates a flowchart of the performance of the primarypoint-to-point Internet protocols; and

FIG. 9 illustrates a flowchart of the performance of the secondarypoint-to-point Internet protocol.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now in specific detail to the drawings, with like referencenumerals identifying similar or identical elements, as shown in FIG. 1,the present disclosure describes a point-to-point Internet protocol andsystem 10 for using such a protocol.

In an exemplary embodiment, the system 10 includes a first processingunit 12 for sending at least a voice signal from a first user to asecond user. The first processing unit 12 includes a processor 14, amemory 16, an input device 18, and an output device 20. The outputdevice 20 includes at least one modem capable of, for example, 14.4kbaud communications and operatively connected via wired and/or wirelesscommunication connections to the Internet. One skilled in the art wouldunderstand that the input device 18 may be implemented at least in partby the modem of the output device 20 to allow input signals from thecommunication connections to be received. The second processing unit 22may have a processor, memory, and input and output devices, including atleast one modem and associated communication connections, as describedabove for the first processing unit 12. In an exemplary embodiment, eachof the processing units 12, 22 may be a WEBPHONE™ unit, available fromNETS Peak Corporation, Boca Raton, Fla., capable of operating thedisclosed point-to-point Internet protocol and system 10, as describedherein.

The first processing unit 12 and the second processing unit 22 areoperatively connected to the Internet 24 by communication devices andsoftware known in the art. The processing units 12, 22 may beoperatively interconnected through the Internet 24 to a connectionserver 26, and may also be operatively connected to a mail server 28associated with the Internet 24.

The connection server 26 includes a processor 30, a timer 32 forgenerating timestamps, and a memory such as a database 34 for storing,for example, E-mail and Internet Protocol (IP) addresses of logged-inunits. In an exemplary embodiment, the connection server 26 may be aSPARC 5 server or a SPARC 20 server, available from SUN MICROSYSTEMS,INC., Mountain View, Calif., having a central processing unit (CPU) asprocessor 30 operating an operating system (OS) such as UNIX andproviding timing operations such as maintaining the timer 32, a harddrive or fixed drive as well as dynamic random access memory (DRAM) forstoring the database 34, and a keyboard and display and/or other inputand output devices (not shown in FIG. 1). The database 34.may be an SQLdatabase available from ORACLE or INFOMIX.

In an exemplary embodiment, the mail server 28 may be a Post OfficeProtocol (POP) Version 3 mail server including a processor, memory, andstored programs operating in a UNIX environment, or alternativelyanother OS, to process E-mail capabilities between processing units anddevices over the Internet 24.

The first processing unit 12 may operate the disclosed point-to-pointInternet protocol by a computer program described hereinbelow inconjunction with FIG. 6, which may be implemented from compiled and/orinterpreted source code in the C++ programming language and which may bedownloaded to the first processing unit 12 from an external computer.The operating computer program may be stored in the memory 16, which mayinclude about 8 MB RAM and/or a hard or fixed drive having about 8 MB.Alternatively, the source code may be implemented in the firstprocessing unit 12 as firmware, as an erasable read only memory (EPROM),etc. It is understood that one skilled in the art would be able to useprogramming languages other than C++ to implement the disclosedpoint-to-point Internet protocol and system 10.

The processor 14 receives input commands and data from a first userassociated with the first processing unit 12 through the input device18, which may be an input port connected by a wired, optical, or awireless connection for electromagnetic transmissions, or alternativelymay be transferable storage media, such as floppy disks, magnetic tapes,compact disks, or other storage media including the input data from thefirst user.

The input device 18 may include a user interface (not shown) having, forexample, at least one button actuated by the user to input commands toselect from a plurality of operating modes to operate the firstprocessing unit 12. In alternative embodiments, the input device 18 mayinclude a keyboard, a mouse, a touch screen, and/or a data readingdevice such as a disk drive for receiving the input data from input datafiles stored in storage media such as a floppy disk or, for example, an8 mm storage tape. The input device 18 may alternatively includeconnections to other computer systems to receive the input commands anddata therefrom.

The first processing unit 12 may include a visual interface as theoutput device 20 for use in conjunction with the input device 18 andembodied as one of the screens illustrated by the examples shown inFIGS. 5-6 and discussed below. It is also understood that alternativeinput devices may be used in conjunction with alternative output devicesto receive commands and data from the user, such as keyboards, mousedevices, and graphical user interfaces (GUI) such as WINDOWS™ 3.1available from MICROSOFT™ Corporation Redmond, Wash., executed by theprocessor 14 using, for example, DOS 5.0. One skilled in the art wouldunderstand that other operating systems and GUIs, such as OS/2 and OS/2WARP, available from IBM CORPORATION, may be used. Other alternativeinput devices may include microphones and/or telephone handsets forreceiving audio voice data and commands, with the first processing unit12 including speech or voice recognition devices, dual tonemulti-frequency (DTMF) based devices, and/or software known in the artto accept voice data and commands and to operate the first processingunit 12.

In addition, either of the first processing unit 12 and the secondprocessing unit 22 may be implemented in a personal digital assistant(PDA) providing modem and E-mail capabilities and Internet access, withthe PDA providing the input/output screens for mouse interaction or fortouchscreen activation as shown, for example, in FIGS. 4-5, as acombination of the input device 18 and output device 20.

For clarity of explanation, the illustrative embodiment of the disclosedpoint-to-point Internet protocol and system 10 is presented as havingindividual functional blocks, which may include functional blockslabelled as “processor” and “processing unit”. The functions representedby these blocks may be provided through the use of either shared ordedicated hardware, including, but not limited to, hardware capable ofexecuting software. For example, the functions of each of the processorsand processing units presented herein may be provided by a sharedprocessor or by a plurality of individual processors. Moreover, the useof the functional blocks with accompanying labels herein is not to beconstrued to refer exclusively to hardware capable of executingsoftware. Illustrative embodiments may include digital signal processor(DSP) hardware, such as the AT&T DSP16 or DSP32C, read-only memory (ROM)for storing software performing the operations discussed below, andrandom access memory (RAM) for storing DSP results. Very large scaleintegration (VLSI) hardware embodiments, as well as custom VLSIcircuitry in combination with a general purpose DSP circuit, may also beprovided. Any and all of these embodiments may be deemed to fall withinthe meaning of the labels for the functional blocks as used herein.

The processing units 12, 22 are capable of placing calls and connectingto other processing units connected to the Internet 24, for example, viadialup SLIP/PPP lines. In an exemplary embodiment, each processing unitassigns an unsigned long session number, for example, a 32-bit longsequence in a *.ini file for each call. Each call may be assigned asuccessive session number in sequence, which may be used by therespective processing unit to associate the call with one of theSLIP/PPP lines, to associate a <ConnectOK> response signal with a<ConnectRequest> signal, and to allow for multiplexing anddemultiplexing of inbound and outbound conversations on conferencelines.

For callee (or called) processing units with fixed IP addresses, thecaller (or calling) processing unit may open a “socket”, i.e. a filehandle or address indicating where data is to be sent, and transmit a<Call> command to establish communication with the callee utilizing, forexample, datagram services such as Internet Standard network layering aswell as transport layering, which may include a Transport ControlProtocol (TCP) or a User Datagram Protocol (UDP) on top of the IP.Typically, a processing unit having a fixed IP address may maintain atleast one open socket and a called processing unit waits for a <Call>command to assign the open socket to the incoming signal. If all linesare in use, the callee processing unit sends a BUSY signal or message tothe caller processing unit.

As shown in FIG. 1, the disclosed point-to-point Internet protocol andsystem 10 operate when a callee processing unit does not have a fixed orpredetermined IP address. In the exemplary embodiment and without lossof generality, the first processing unit 12 is the caller processingunit and the second processing unit 22 is the called processing unit.

When either of processing units 12, 22 logs on to the Internet via adial-up connection, the respective unit is provided a dynamicallyallocated IP address by a connection service provider.

Upon the first user initiating the point-to-point Internet protocol whenthe first user is logged on to the Internet 24, the first processingunit 12 automatically transmits its associated E-mail address and itsdynamically allocated IP address to the connection server 26. Theconnection server 26 then stores these addresses in the database 34 andtimestamps the stored addresses using timer 32. The first user operatingthe first processing unit 12 is thus established in the database 34 asan active on-line party available for communication using the disclosedpoint-to-point Internet protocol. Similarly, a second user operating thesecond processing unit 22, upon connection to the Internet 24 throughthe connection server 26, is processed by a connection service providerto be established in the database 34 as an active on-line party.

The connection server 26 may use the timestamps to update the status ofeach processing unit; for example, after 2 hours, so that the on-linestatus information stored in the database 34 is relatively current.Other predetermined time periods, such as a default value of 24 hours,may be configured by a systems operator.

The first user with the first processing unit 12 initiates a call using,for example, a Send command and/or a command to speeddial an N^(TH)stored number, which may be labelled [SND] and [SPD][N], respectively,by the input device 18 and/or the output device 20, such as shown inFIGS. 5-6. In response to either the Send or speeddial commands, thefirst processing unit 12 retrieves from memory 16 a stored E-mailaddress of the callee corresponding to the N^(TH) stored number.Alternatively, the first user may directly enter the E-mail address ofthe callee.

The first processing unit 12 then sends a query, including the E-mailaddress of the callee, to the connection server 26. The connectionserver 26 then searches the database 34 to determine whether the calleeis logged-in by finding any stored information corresponding to thecallee's E-mail address indicating that the callee is active andon-line. If the callee is active and on-line, the connection server 26then performs the primary point-to-point Internet protocol; i.e. the IPaddress of the callee is retrieved from the database 34 and sent to thefirst processing unit 12. The first processing unit 12 may then directlyestablish the point-to-point Internet communications with the calleeusing the IP address of the callee.

If the callee is not on-line when the connection server 26 determinesthe callee's status, the connection server 26 sends an OFF-LINE signalor message to the first processing unit 12. The first processing unit 12may also display a message such as “Called Party Off-Line” to the firstuser.

When a user logs off or goes off-line from the Internet 24, theconnection server 26 updates the status of the user in the database 34;for example, by removing the user's information, or by flagging the useras being off-line. The connection server 26 may be instructed to updatethe user's information in the database 34 by an off-line message, suchas a data packet, sent automatically from the processing unit of theuser prior to being disconnected from the connection server 26.Accordingly, an off-line user is effectively disabled from making and/orreceiving point-to-point Internet communications.

As shown in FIGS. 2-4, the disclosed secondary point-to-point Internetprotocol may be used as an alternative to the primary point-to-pointInternet protocol described above, for example, if the connection server26 is non-responsive, inoperative, and/or unable to perform the primarypoint-to-point Internet protocol, as a nonresponsive condition.Alternatively, the disclosed secondary point-to-point Internet protocolmay be used independent of the primary point-to-point Internet protocol.In the disclosed secondary point-to-point Internet protocol, the firstprocessing unit 12 sends a <ConnectRequest> message via E-mail over theInternet 24 to the mail server 28. The E-mail including the<ConnectRequest> message may have, for example, the subject

[*wp#XXXXXXXX#nnn.nnn.nnn.nnn#emailAddr]

where nnn.nnn.nnn.nnn is the current (i.e. temporary or permanent) IPaddress of the first user, and XXXXXXXX is a session number, which maybe unique and associated with the request of the first user to initiatepoint-to-point communication with the second user.

As described above, the first processing unit 12 may send the<ConnectRequest> message in response to an unsuccessful attempt toperform the primary point-to-point Internet protocol. Alternatively, thefirst processing unit 12 may send the <ConnectRequest> message inresponse to the first user initiating a SEND command or the like.

After the <ConnectRequest> message via E-mail is sent, the firstprocessing unit 12 opens a socket and waits to detect a response fromthe second processing unit 22. A timeout timer, such as timer 32, may beset by the first processing unit 12, in a manner known in the art, towait for a predetermined duration to receive a <ConnectOK> signal. Theprocessor 14 of the first processing unit 12 may cause the output device20 to output a Ring signal to the user, such as an audible ringingsound, about every 3 seconds. For example, the processor 14 may output a*.wav file, which may be labelled RING.WAV, which is processed by theoutput device 20 to output an audible ringing sound.

The mail server 28 then polls the second processing unit 22, forexample, every 3-5 seconds, to deliver the E-mail. Generally, the secondprocessing unit 22 checks the incoming lines, for example, at regularintervals to wait for and to detect incoming E-mail from the mail server28 through the Internet 24.

Typically, for sending E-mail to users having associated processingunits operatively connected to a host computer or server operating anInternet gateway, E-Mail for a specific user may be sent over theInternet 24 and directed to the permanent IP address or the SLIP/PPPaccount designation of the host computer, which then assigns a temporaryIP address to the processing unit of the specified user for properlyrouting the E-mail. The E-mail signal may include a name or otherdesignation such as a username which identifies the specific userregardless of the processing unit assigned to the user; that is, thehost computer may track and store the specific device where a specificuser is assigned or logged on, independent of the IP address system, andso the host computer may switch the E-mail signal to the device of thespecific user. At that time, a temporary IP address may be generated orassigned to the specific user and device.

Upon detecting and/or receiving the incoming E-mail signal from thefirst processing unit 12, the second processing unit 22 may assign ormay be assigned a temporary IP address. Therefore, the delivery of theE-mail through the Internet 24 provides the second processing unit 22with a session number as well as IP addresses of both the firstprocessing unit 12 and the second processing unit 22.

Point-to-point communication may then be established by the processingunits 12, 22. For example, the second processing unit 22 may process theE-mail signal to extract the <ConnectRequest> message, including the IPaddress of the first processing unit 12 and the session number. Thesecond processing unit 22 may then open a socket and generate a<ConnectOK> response signal, which includes the temporary IP address ofthe second processing unit 22 as well as the session number.

The second processing unit 22 sends the <ConnectOK> signal directly overthe Internet 24 to the IP address of the first processing unit 12without processing by the mail server 28, and a timeout timer of thesecond processing unit 22 may be set to wait and detect a <Call> signalexpected from the first processing unit 12.

Realtime point-to-point communication of audio signals over the Internet24, as well as video and voicemail, may thus be established andsupported without requiring permanent IP addresses to be assigned toeither of the users or processing units 12, 22. For the duration of therealtime point-to-point link, the relative permanence of the current IPaddresses of the processing units 12, 22 is sufficient, whether thecurrent IP addresses were permanent (i.e. predetermined or preassigned)or temporary (i.e. assigned upon initiation of the point-to-pointcommunication).

In the exemplary embodiment, a first user operating the first processingunit 12 is not required to be notified by the first processing unit 12that an E-mail is being generated and sent to establish thepoint-to-point link with the second user at the second processing unit22. Similarly, the second user is not required to be notified by thesecond processing unit 22 that an E-mail has been received and/or atemporary IP address is associated with the second processing unit 22.The processing units 12, 22 may perform the disclosed point-to-pointInternet protocol automatically upon initiation of the point-to-pointcommunication command by the first user without displaying the E-mailinteractions to either user. Accordingly, the disclosed point-to-pointInternet protocol may be transparent to the users. Alternatively, eitherof the first and second users may receive, for example, a brief messageof “CONNECTION IN PROGRESS” or the like on a display of the respectiveoutput device of the processing units 12, 22.

After the initiation of either the primary or the secondarypoint-to-point Internet protocols described above in conjunction withFIGS. 1-2, the point-to-point communication link over the Internet 24may be established as shown in FIGS. 3-4 in a manner known in the art.For example, referring to FIG. 3, upon receiving the <ConnectOK> signalfrom the second processing unit 22, the first processing unit 12extracts the IP address of the second processing unit 22 and the sessionnumber, and the session number sent from the second processing unit 22is then checked with the session number originally sent from the firstprocessing unit 12 in the <ConnectRequest> message as E-mail. If thesession numbers sent and received by the processing unit 12 match, thenthe first processing unit 12 sends a <Call> signal directly over theInternet 24 to the second processing unit 22; i.e. using the IP addressof the second processing unit 22 provided to the first processing unit12 in the <ConnectOK> signal.

Upon receiving the <Call> signal, the second processing unit 22 may thenbegin a ring sequence, for example, by indicating or annunciating to thesecond user that an incoming call is being received. For example, theword “CALL” may be displayed on the output device of the secondprocessing unit 22. The second user may then activate the secondprocessing unit 22 to receive the incoming call.

Referring to FIG. 4, after the second processing unit 22 receives theincoming call, realtime audio and/or video conversations may beconducted in a manner known in the art between the first and secondusers through the Internet 24, for example, by compressed digital audiosignals. Each of the processing units 12, 22 may also display to eachrespective user the words “IN USE” to indicate that the point-to-pointcommunication link is established and audio or video signals are beingtransmitted.

In addition, either user may terminate the point-to-point communicationlink by, for example, activating a termination command, such as byactivating an [END] button or icon on a respective processing unit,causing the respective processing unit to send an <End> signal whichcauses both processing units to terminate the respective sockets, aswell as to perform other cleanup commands and functions known in theart.

FIGS. 5-6 illustrate examples of display screens 36 which may be outputby a respective output device of each processing unit 12, 22 of FIGS.1-4 for providing the disclosed point-to-point Internet protocol andsystem 10. Such display screens may be displayed on a display of apersonal computer (PC) or a PDA in a manner known in the art.

As shown in FIG. 5, a first display screen 36 includes a status area 38for indicating, for example, a called user by name and/or by IP addressor telephone number; a current function such as C2; a current time; acurrent operating status such as “IN USE”, and other control icons suchas a down arrow icon 40 for scrolling down a list of parties on acurrent conference line. The operating status may include suchannunciators as “IN USE”, “IDLE”, “BUSY”, “NO ANSWER”, “OFFLINE”,“CALL”, “DIALING”, “MESSAGES”, and “SPEEDDIAL”.

Other areas of the display screen 36 may include activation areas oricons for actuating commands or entering data. For example, the displayscreen 36 may include a set of icons 42 arranged in columns and rowsincluding digits 0-9 and commands such as END, SND, HLD, etc. Forexample, the END and SND commands may be initiated as described above,and the HLD icon 44 may be actuated to place a current line on hold.Such icons may also be configured to substantially simulate a telephonehandset or a cellular telephone interface to facilitate ease of use, aswell as to simulate function keys of a keyboard. For example, iconslabelled L1-L4 may be mapped to function keys F1-F4 on standard PCkeyboards, and icons C1-C3 may be mapped to perform as combinations offunction keys, such as CTRL-F1, CTRL-F2, and CTRL-F3, respectively. Inaddition, the icons labelled L1-L4 and C1-C3 may include circularregions which may simulate light emitting diodes (LEDs) which indicatethat the function or element represented by the respective icon isactive or being performed.

Icons L1-L4 may represent each of 4 lines available to the caller, andicons C1-C3 may represent conference calls using at least one line toconnect, for example, two or more parties in a conference call. Theicons L1-L4 and C1-C3 may indicate the activity of each respective lineor conference line. For example, as illustrated in FIG. 5, icons L1-L2may have lightly shaded or colored circles, such as a green circle,indicating that each of lines 1 and 2 are in use, while icons L3-L4 mayhave darkly shaded or color circles, such as a red or black circle,indicating that each of lines 3 and 4 are not in use. Similarly, thelightly shaded circle of the icon labelled C2 indicates that thefunction corresponding to C2 is active, as additionally indicated in thestatus area 38, while darkly shaded circles of icons labelled C1 and C3indicate that such corresponding functions are not active.

The icons 42 are used in conjunction with the status area 38. Forexample, using a mouse for input, a line that is in use as indicated bythe lightly colored circle of the icon may be activated to indicate aparty's name by clicking a right mouse button for 5 seconds untilanother mouse click is actuated or the [ESC] key or icon is actuated.Thus, the user may switch between multiple calls in progress onrespective lines.

Using the icons as well as an input device such as a mouse, a user mayenter the name or alias or IP address, if known, of a party to be calledby either manually entering the name, by using the speeddial feature, orby double clicking on an entry in a directory stored in the memory, suchas the memory 16 of the first processing unit 12, where the directoryentries may be scrolled using the status area 38 and the down arrow icon40.

Once a called party is listed in the status area 38 as being active on aline, the user may transfer the called party to another line or aconference line by clicking and dragging the status area 38, which isrepresented by a reduced icon 46. Dragging the reduced icon 46 to anyone of line icons L1-L4 transfers the called party in use to theselected line, and dragging the reduced icon 46 to any one of conferenceline icons C1-C3 adds the called party to the selected conference call.

Other features may be supported, such as icons 48-52, where icon 48corresponds to, for example, an ALT-X command to exit the communicationfacility of a processing unit, and icon 50 corresponds to, for example,an ALT-M command to minimize or maximize the display screen 36 by theoutput device of the processing unit. Icon 52 corresponds to an OPENcommand, which may, for example, correspond to pressing the O key on akeyboard, to expand or contract the display screen 36 to represent theopening and closing of a cellular telephone. An “opened” configurationis shown in FIG. 5, and a “closed” configuration is shown in FIG. 6. Inthe “opened” configuration, additional features such as output volume(VOL) controls, input microphone (MIC) controls, waveform (WAV) soundcontrols, etc.

The use of display screens such as those shown in FIGS. 5-6 providedflexibility in implementing various features available to the user. Itis to be understood that additional features such as those known in theart may be supported by the processing units 12, 22.

Alternatively, it is to be understood that one skilled in the art mayimplement the processing units 12, 22 to have the features of thedisplay screens in FIGS. 5-6 in hardware; i.e. a wired telephone orwireless cellular telephone may include various keys, LEDs, liquidcrystal displays (LCDs), and touchscreen actuators corresponding to theicons and features shown in FIGS. 5-6. In addition, a PC may have thekeys of a keyboard and mouse mapped to the icons and features shown inFIGS. 5-6.

Referring to FIG. 7, the disclosed point-to-point Internet protocol andsystem 10 is initiated at a first processing unit 12 for point-to-pointInternet communications by starting the point-to-point Internetprotocols in step 54; initiating the primary point-to-point Internetprotocol in step 56 by sending a query from the first processing unit 12to the connection server 26; determining if the connection server 26 isoperative to perform the point-to-point Internet protocol in step 58 byreceiving, at the first processing unit 12, an on-line status signalfrom the connection server 26, which may include the IP address of thecallee or a “Callee Off-Line” message; performing the primarypoint-to-point Internet protocol in step 60, which may includereceiving, at the first processing unit 12, the IP address of the calleeif the callee is active and on-line; and initiating and performing thesecondary point-to-point Internet protocol in step 62 if the calledparty is not active and/or on-line.

Referring to FIG. 8 in conjunction with FIGS. 1 and 3-4, the disclosedpoint-to-point Internet protocol and system 10 operates using theconnection server 26 to perform step 60 in FIG. 7 by starting thepoint-to-point Internet protocol in step 64; timestamping and storingE-mail and IP addresses of logged-in users and processing units in thedatabase 34 in step 66; receiving a query at the connection server 26from a first processing unit 12 in step 68 to determine whether a seconduser or second processing unit 22 is logged-in to the Internet 24, withthe second user being specified, for example, by an E-mail address;retrieving the IP address of the specified user from the database 34 instep 70 if the specified user is logged-in to the Internet; and sendingthe retrieved IP address to the first processing unit in step 72 toestablish point-to-point Internet communications with the specifieduser.

Referring to FIG. 9 in conjunction with FIGS. 2-4, the disclosedsecondary point-to-point Internet protocol and system 10 operates at thefirst processing unit 12 to perform step 62 of FIG. 7. The disclosedsecondary point-to-point Internet protocol operates as shown in FIG. 9by starting the secondary point-to-point Internet protocol in step 74;generating an E-mail signal, including a session number and a first IPaddress corresponding to a first processing unit in step 76 using thefirst processing unit 12; transmitting the E-mail signal as a<ConnectRequest> signal to the Internet 24 in step 78; delivering theE-mail signal through the Internet 24 using a mail server 28 to a secondprocessing unit 22 in step 80; extracting the session number and thefirst IP address from the E-mail signal in step 82; transmitting orsending the session number and a second IP address corresponding to thesecond processing unit 22 to the first processing unit 12 through theInternet 24 in step 84; verifying the session number received from thesecond processing unit 22 in step 86; and establishing a point-to-pointInternet communication link between the first processing unit 12 andsecond processing unit 22 using the first and second IP addresses instep 88.

While the disclosed point-to-point Internet protocols and system havebeen particularly shown and described with reference to the preferredembodiments, it is understood by those skilled in the art that variousmodifications in form and detail may be made therein without departingfrom the scope and spirit of the invention. Accordingly, modificationssuch as those suggested above, but not limited thereto, are to beconsidered within the scope of the invention.

What is claimed is:
 1. A method for establishing point-to-point Internetcommunication comprising the steps of: (a) transmitting an E-mailmessage, automatically including a first Internet Protocol (IP) addressassigned to a first processing unit; (b) processing the E-mail messagethrough the Internet to deliver the E-mail message to a secondprocessing unit; and (c) automatically transmitting a second IP addressto the first processing unit using the first Internet Protocol addressassigned to the first processing unit for establishing a point-to-pointcommunication link between the first and second processing units throughthe Internet.
 2. The method of claim 1 further comprising the step of:(a1) generating the E-mail message including the first IP addresscorresponding to the first processing unit before the step oftransmitting the E-mail message.
 3. The method of claim 1 furthercomprising the step of: (a1) generating the E-mail message from asession number before the step of transmitting the E-mail message. 4.The method of claim 1 wherein the step (b) of processing the E-mailmessage further comprises the step of: (b1) processing the E-mailmessage using a mail server operatively connected to the secondprocessing unit.
 5. The method of claim 1 further comprising the stepof: (b1) generating a connection signal including the second IP addressat the second processing unit before the step (c) of transmitting thesecond IP address to the first processing unit; and wherein the step (c)of transmitting the second IP address includes the step (c1) oftransmitting the connection signal from the second processing unit tothe first processing unit.
 6. A system for point-to-point communicationsover the Internet comprising: a first processing unit including: a firstprogram for performing a point-to-point Internet protocol; and a firstprocessor for executing the first program and for automaticallytransmitting an E-mail message, including a first Internet Protocol (IP)address corresponding to the first processing unit; and a mail serverfor processing the E-mail message through the Internet to deliver theE-mail message to a second processing unit for establishing apoint-to-point communication link between the first and secondprocessing units through the Internet; wherein the second processingunit transmits a message including a second Internet protocol addresscorresponding to the second processing unit using the first Internetprotocol address assigned to the first processing unit.
 7. The system ofclaim 6 wherein the second processing unit includes; a second programfor performing the point-to-point Internet Protocol; a second processorfor executing the second program and for receiving the E-mail messagefrom the mail server and for generating a connection signal, including asecond IP address, for establishing the point-to-point communicationlink to the first processing unit.
 8. A computer program product for usewith a computer system, the computer system executing a first processoperatively connectable to a second process and a server over a computernetwork, the computer program product comprising: a computer useablemedium having program code embodied in the medium, the program codefurther comprising: program code for transmitting an E-mail messagecomprising an Internet protocol address of the first process to theserver over the computer network; program code for receiving an Internetprotocol address of the second process, transmitted from the secondprocess using the Internet protocol address of the first process, overthe computer network; and program code, responsive to the Internetprotocol address of the second process, for establishing apoint-to-point communication between the first process and the secondprocess.
 9. In a first computer process operatively coupled over acomputer network to a second process and an E-mail server, a method ofestablishing a point-to-point communication between the first and secondprocesses comprising the steps of: A. transmitting an E-mail messageautomatically incorporating a first Internet protocol address of thefirst process to the second process over the computer network; B.receiving a second Internet protocol address from the second processover the computer network, the second process sending the secondInternet protocol address to the first process using the first Internetprotocol address; and C. in response to reception of the second networkprotocol address, establishing a point-to-point communication connectionbetween the first process and the second process.